﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PACKETPARSERMAX20.CORE
{

    public enum MAIL_RESPONSE : uint
    {
        MAIL_OK = 0,
        MAIL_MONEY_TAKEN = 1,
        MAIL_ITEM_TAKEN = 2,
        MAIL_RETURNED_TO_SENDER = 3,
        MAIL_DELETED = 4,
        MAIL_MADE_PERMANENT = 5
    };

    public enum MAIL_ERRORS : uint
    {
        MAIL_ERR_BAG_FULL = 1,
        MAIL_ERR_CANNOT_SEND_TO_SELF = 2,
        MAIL_ERR_NOT_ENOUGH_MONEY = 3,
        MAIL_ERR_RECIPIENT_NOT_FOUND = 4,
        MAIL_ERR_NOT_YOUR_TEAM = 5,
        MAIL_ERR_INTERNAL_ERROR = 6,
        MAIL_ERR_DISABLED_FOR_TRIAL_ACC = 14,
        MAIL_ERR_RECIPIENT_CAP_REACHED = 15,
        MAIL_ERR_CANT_SEND_WRAPPED_COD = 16,
        MAIL_ERR_MAIL_AND_CHAT_SUSPENDED = 17
    };

    public enum MailCheckMask : uint
    {
        MAIL_CHECK_MASK_NONE = 0,
        MAIL_CHECK_MASK_READ = 1,
        MAIL_CHECK_MASK_AUCTION = 4,
        MAIL_CHECK_MASK_COD_PAYMENT = 8,
        MAIL_CHECK_MASK_RETURNED = 16
    };

    public enum MailMessageType : uint
    {
        MAIL_NORMAL = 0,
        MAIL_AUCTION = 2,
        MAIL_CREATURE = 3,                                // client send CMSG_CREATURE_QUERY on this mailmessagetype
        MAIL_GAMEOBJECT = 4,                                // client send CMSG_GAMEOBJECT_QUERY on this mailmessagetype
        MAIL_ITEM = 5,                                // client send CMSG_ITEM_QUERY on this mailmessagetype
    };

    public enum MailState : uint
    {
        MAIL_STATE_UNCHANGED = 1,
        MAIL_STATE_CHANGED = 2,
        MAIL_STATE_DELETED = 3
    };

    public enum MailAuctionAnswers : uint
    {
        AUCTION_OUTBIDDED = 0,
        AUCTION_WON = 1,
        AUCTION_SUCCESSFUL = 2,
        AUCTION_EXPIRED = 3,
        AUCTION_CANCELLED_TO_BIDDER = 4,
        AUCTION_CANCELED = 5,
        AUCTION_SALE_PENDING = 6
    };

    // gathered from Stationery.dbc
    public enum MailStationery : uint
    {
        MAIL_STATIONERY_UNKNOWN = 0x01,
        MAIL_STATIONERY_NORMAL = 0x29,
        MAIL_STATIONERY_GM = 0x3D,
        MAIL_STATIONERY_AUCTION = 0x3E,
        MAIL_STATIONERY_VAL = 0x40,
        MAIL_STATIONERY_CHR = 0x41
    };


}
